热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

蜜蜂|蜂巢_基于蜜蜂优化算法优化的卷积神经网络(CNN)图像分类

篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于蜜蜂优化算法优化的卷积神经网络(CNN)图像分类相关的知识,希望对你有一定的参考价值。目录

篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于蜜蜂优化算法优化的卷积神经网络(CNN)图像分类相关的知识,希望对你有一定的参考价值。


目录

摘要:

1.蜜蜂优化算法:

2. 卷积神经网络(CNN)

3. 求解结果:





摘要:

本文通过蜜蜂优化算法,优化了卷积神经网络(CNN)中的超参数,主要是网络的权重和偏差等关键参数,使CNN可以达到更加优秀的性能表现,通过使用优化后的CNN进行图像分类任务,从所得结果可以看出,蜜蜂优化算法对CNN的分类准确度的提升很大,在训练过程中CNN的分类准确度甚至可以达到100%,充分展示了本文所提方法的有效性。

程序已做标准化处理,使用者可以通过替换原始数据为自己的数据,从而实现需要的功能。



关注博主,后台私信获取本文全部代码



1.蜜蜂优化算法:

蜜蜂算法是受自然界中蜜蜂的觅食行为启发而提出的一种优化算法。算法中食物源位置代表优化 问题的一组解,由食物源位置及其近邻域形成一个 小的搜索区域,称为花丛。

在搜索食物的过程中,蜜蜂群首先派出侦察蜂 进行搜索,侦察蜂不断地从一个食物源飞往另一个 食物源,搜索所有可能的食物源。当搜索到食物源 的收益度( 比如糖的含量) 超过一定量时,侦察蜂返 回蜂巢,卸下蜂蜜并在“跳舞板”上跳一种神奇的“摇 摆舞”。这种“摇摆舞”是蜜蜂群进行信息交流的必 要工具,能使整个蜂群了解到所发现食物源的方位、 到蜂巢的距离和收益度。跳完舞后的侦察蜂带领守 候在蜂巢外面的跟随蜂飞回到相应的食物源采蜜, 并且收益度高的食物源将会招募到更多的跟随蜂前 往采蜜。在采蜜过程中,采蜜蜂计算其正在采蜜的 食物源的收益度,并返回蜂巢跳“摇摆舞”,给蜂群传 递当前食物源收益度的信息。如果食物源收益度仍 然较高,将会招募更多的跟随蜂前往采蜜;

该算法需要设置一些参数,即侦察蜂的数量 n,n 个被搜索的食物源中被选中食物源的数量 m,m 个 食物源中最好食物源的数量 e,为最好 e 个食物源招 募的蜜蜂数量 nep,为其它 m - e 个食物源招募的蜜 蜂数量 nsp,食物源近邻搜索半径 ngh 和算法的终止 条件。蜜蜂算法的伪代码如下: ( 1) 初始化种群的随机解; ( 2) 评价种群的适应度; ( 3) 当停止准则不满足时,产生新的种群; ( 4) 为近邻搜索选择食物源; ( 5) 招募蜜蜂到选择的食物源( 为最好的 e 个食 物源招募更多的蜜蜂) 并评价其适应度; ( 6) 从每个花丛中选择适应度最高的蜜蜂; ( 7) 派遣其余的搜索蜂进行随机搜索并评价其 适应度; ( 8) 结束循环


2. 卷积神经网络(CNN)

卷积神经网络是一种多层非线性前馈神经网 络,最初被用于复杂图像的特征识别和提取,以解决 传统图像识别技术仅能提取图像浅层特征的问题, 实现对复杂图像的自动化处理。典型的卷积神经网 络包括输入层、卷积层、激活层、池化层、全连接层和 输出层,如图所示:

求解网络模型参数时,给出损失函数沿网络模 型反向在各层关于模型参数的梯度,并使参数沿梯 度方向更新直至误差收敛,此方法被称为随机梯度下降法等。


输入层

卷积神经网络的输入层可以处理多维数据,常见地,一维卷积神经网络的输入层接收一维或二维数组,其中一维数组通常为时间或频谱采样;二维数组可能包含多个通道;二维卷积神经网络的输入层接收二维或三维数组;三维卷积神经网络的输入层接收四维数组 [16]  。由于卷积神经网络在计算机视觉领域应用较广,因此许多研究在介绍其结构时预先假设了三维输入数据,即平面上的二维像素点和RGB通道。


隐含层

卷积神经网络的隐含层包含卷积层、池化层和全连接层3类常见构筑,在一些更为现代的算法中可能有Inception模块、残差块(residual block)等复杂构筑。在常见构筑中,卷积层和池化层为卷积神经网络特有。卷积层中的卷积核包含权重系数,而池化层不包含权重系数,因此在文献中,池化层可能不被认为是独立的层。以LeNet-5为例,3类常见构筑在隐含层中的顺序通常为:输入-卷积层-池化层-全连接层-输出。


输出层

卷积神经网络中输出层的上游通常是全连接层,因此其结构和工作原理与传统前馈神经网络中的输出层相同。对于图像分类问题,输出层使用逻辑函数或归一化指数函数(softmax function)输出分类标签 [16]  。在物体识别(object detection)问题中,输出层可设计为输出物体的中心坐标、大小和分类 [16]  。在图像语义分割中,输出层直接输出每个像素的分类结果 [16]  。


3. 求解结果:


推荐阅读
author-avatar
孤独丶Angle_251
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有